PPRD
Section: User Commands (1)
Updated: 15 October 1996
Index
Return to Main Contents
NAME
pprd - LPD (network printer daemon) for DOS
SYNOPSIS
pprd
[-pport] [-n#] [-t] [-i]
[-s] [-b#] [-#]
[-ahostlist] [-dhostlist] [-lhost]
[-j[port]]
DESCRIPTION
pprd
is a small program that turns an XT or AT running DOS into a dedicated
LPD printer server. You can send jobs to the printers from any
machine running LPR. It can handle up to 3 parallel printer ports.
Serial printers can be handled by running the interrupt I/O driver
TSRCOMM, which is in LPTCOM.ZIP and diverting LPTn to COMn.
pprd
supports an alternate protocol to LPD, called the Direct protocol here.
It is invoked by specifying the -j flag. The job is sent as a
TCP data stream ended by closing the connection. The advantage of this
protocol is that the size of the job does not need to be known in
advance, which could be used to advantage in a print redirector. It is
more efficient because there are fewer transactions than in the LPD
protocol.
INSTALLATION
pprd
requires: Parallel or serial printer ports connected to
printers, a network interface card and a FTP Software specification
Packet Driver for it, and a valid WATTCP configuration file, WATTCP.CFG.
To install, edit the file WATTCP.CFG, filling in the entries. Then edit
your autoexec.bat file to load the packet driver, then
pprd.
Something like this:
a:\pprd\ni5210 0x60 2 0x300 0xcc00
rem If you wish to put your wattcp.cfg in a particular directory
set wattcp_cfg=a:\pprd\wattcp.cfg
a:\pprd\pprd
Turn your printers on before starting
pprd
or it will not detect the printers. Alternatively, use the -n
flag in
pprd.
pprd
outputs tones (C,D,E) for as many printers as detected.
pprd
displays status on console, including changes in printer status. It
responds to LPQ queries, returning status reports to the client.
You can now send jobs from clients with LPR. The printers served are
called lpt1 through lpt3, in any mixture of case. You can also set the
printer names in WATTCP.CFG by assigning to PRINTER[123]NAME.
pprd
is multithreaded and can have as many connections as printers active.
Control-F1 through F3 can be used to abort jobs on the corresponding
printers.
It's probably best to install
pprd
in a Berkeley LPD environment as a printer accessed via a ifilter, rather
than as a remote host. That way you can queue up jobs and implement any
LPD filters on the client. A couple of Perl scripts for Berkeley LPD
system are provided. Edit lpr.pl to configure and install it as
ifilter. Banner.pl should be installed as ofilter. You should provide
a dummy file for the lp attribute because LPD expects to be able to
open and lock it. This file will not be printed to.
You may wish to restrict access to
pprd
to certain machines only. The -a and -d options are for
this.
pprd
allows connections only from machines on the same subnet (as determined
from the subnet mask) by default; this can be disabled by the -s
option.
OPTIONS
- -pport
-
Listen on
port
instead of the default 515.
- -xy
-
Disable printers
x
and
y
(numbers between 1 and 3).
- -n#
-
#
printers, no matter what BIOS claims.
- -t
-
Don't indicate available printers with tones.
- -i
-
Reinitialise printer via hardware line on job abort.
This option also enables aborting the job by closing
the connection from the client side.
In its absence, what remains in the buffer is printed.
- -k
-
Don't abort job if client drops connection.
By default, the buffer is flushed and the
connection reinitialised if the client closes
the connection before the final ack.
- -bxy
-
Print directly to hardware port of printers
x
and
y
instead of using the BIOS print service. This only works on real
parallel ports, i.e. not redirected to serial ports, files or network
connections, and is only likely to improve things with fast printer
interfaces, in particular those with memory buffers, such as laser
printers. On low speed printers, it isn't likely to make things faster
since the bottleneck is the printer.
- -s
-
Indicates local subnet is not special.
Before version 1.99, setting this flag meant that
no subnet checking would be done at all, that is, any host can connect
regardless of the deny list.
In version 1.99 this changed to mean that the subnet of the PPRD host
is not treated specially and addresses still have to either
be in an allow list or not be in a deny list,
otherwise access is denied.
If you want the former behaviour of
-s,
that is, open up access to the whole Internet, use
-dx.x.x.x
alone, where
x.x.x.x
is an address that will never be used by a client, for instance,
the address of the PPRD host.
- -alist
-
Comma separated list of up to 20 domain names allowed connection.
- -dlist
-
Comma separated list of up to 20 domain names denied connection.
-a and -d are mutually exclusive.
Domain names can also be network addresses, which have all 0s for the
hostid portion, as determined from the subnet mask, in which all
hosts on the network are affected by the allow or deny.
- -lhost
-
Log diagnostics via SYSLOG protocol to
host.
- -jport
-
Use Direct protocol to
port
(normally 9100) instead of LPD protocol.
CONFIGURATION FILE SETTINGS
Assigning to PRINTER1NAME, PRINTER2NAME, and PRINTER3NAME in WATTCP.CFG
will give names other than the default lpt[123] to the printers.
OTHER FILES
Two auxiliary programs are provided, jd.pl and jd.exe, written in
Perl and C respectively. These are sample clients that use the Direct
protocol.
Jd.exe reads additional configuration entries in WATTCP.CFG, see jd
documentation.
Another Perl script called jdlprd.pl is provided. If this is run on a
BSD Unix host, it provides a gateway from jd jobs to the lpr system on
Unix.
SEE ALSO (on Unix)
lpr(1), lpq(1), lpc(8), lpd(8)
FILES
WATTCP.CFG, LPTCOM.ZIP
DIAGNOSTICS
Hopefully self explanatory.
COPYRIGHT
pprd
is under the Artistic License, which allows you to freely distribute
the program provided the sources accompany, or are made available on
request. See Artistic for details.
AUTHOR
Ken Yap (ken@syd.dit.csiro.au)
DATE
October 1996
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- INSTALLATION
-
- OPTIONS
-
- CONFIGURATION FILE SETTINGS
-
- OTHER FILES
-
- SEE ALSO (on Unix)
-
- FILES
-
- DIAGNOSTICS
-
- COPYRIGHT
-
- AUTHOR
-
- DATE
-
This document was created by
man2html,
using the manual pages.
Time: 07:24:30 GMT, November 17, 2022